package Controller;

import Model.*;
import View.*;

public class AdressBookController {
	
	public AdressBook Livre;
	protected MainFrame Cadre;
	
	
	public AdressBookController() {
		
		//Modèle
		Livre=new AdressBook();
		Livre.loadContactListFromFile();
		
		//Vue
		Cadre= new MainFrame(Livre.getContactList());
		Cadre.setProfile(Livre.getContactList().get(0));
		
		//Controleur
		this.setListeners();
		
		
		

	}
	
	/**
	 * Ajoute des listeners aux élements graphiques de la vue
	 */
	private void setListeners()
	{
		this.Cadre.getList().getSelectionModel().addListSelectionListener(new SharedListeSelectionHandler(this));
		this.Cadre.getSortAlpha().addActionListener(new ClickListener(this));
		this.Cadre.getSortDate().addActionListener(new ClickListener(this));
		this.Cadre.getSortGroup().addActionListener(new ClickListener(this));
		this.Cadre.getAddButton().addActionListener(new ClickListener(this));
		this.Cadre.getModifyButton().addActionListener(new ClickListener(this));
		this.Cadre.getSaveButton().addActionListener(new ClickListener(this));
		this.Cadre.getDeleteButton().addActionListener(new ClickListener(this));
		this.Cadre.addWindowListener(new ClickListener(this));
		this.Cadre.getWebsiteLbl().addMouseListener(new ClickListener(this));
		this.Cadre.getMailLbl().addMouseListener(new ClickListener(this));
		this.Cadre.getTable().getSelectionModel().addListSelectionListener(new SharedListeSelectionHandler(this));
		this.Cadre.getChooseBtn().addActionListener(new ClickListener(this));
	}
	
	


}
